1110 MM$(2)="CAUTION: Exit LABLFILE through the CONTROL or PRINT Menu ONLY!":MM$(3)=" Using Ctrl-Break will exit without cursor & scroll control":MM$(4)=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1140 MM$(5)=" LABLFILE is a rapid-response, flexible file management pro-":MM$(6)="gram which can be used for many purposes. It's default config-":MM$(7)="ured with a three-line label-print routine which can be modi-
1170 MM$(8)="fied on startup by responding to the label size and # of lines":MM$(9)="promts as desired. These selections may be changed from Menus":MM$(10)="during program execution. INKEY$ response is used extensively.
1200 MM$(11)="Use <ENTER> key when instructed. A <PRESS> PROMPT evokes auto-":MM$(12)="matic entry. When selecting files to print, <ENTER> 1st #, wait":MM$(13)="for a prompt and <ENTER> the last file # to print. For a single
1230 MM$(14)="file, enter the same # each time at the prompt. Four different":MM$(15)="print styles are available with EPSON & IBM coded printers, and":MM$(16)="are selected from the PRINT Menu. LABEL SIZE, number of lines
1260 MM$(17)="to be printed, and file INPUT-HEADINGS may be modified during":MM$(18)="program execution from the CONTROL Menu and PRINT menus. Every":MM$(19)="effort has been made to provide <ESCAPE ROUTES> back to a MENU
1290 MM$(20)="for reselection during all program functions. G I N A C O-1985":NEXT MM:LOCATE 23,9,0:PRINT"<PRESS> F-6 TO CONTINUE. <PRESS> F-2 TO RESET LABEL SIZE";
2560 M1ST$="A ══"+CHR$(16)+" Add Records C ══"+CHR$(16)+" Choose Printer D ══"+CHR$(16)+" Disk Directories":M2ND$="E ══"+CHR$(16)+" Edit Records L ══"+CHR$(16)+" Load Disk File P ══"+CHR$(16)+" Print Label Menu
2580 M3RD$="Q ══"+CHR$(16)+" Quit Program R ══"+CHR$(16)+" Review Records S ══"+CHR$(16)+" Save (Disk File)":M4TH$="Z ══"+CHR$(16)+" Re-set Sizes N ══"+CHR$(16)+" Rename Records X ══"+CHR$(16)+" Empty: ONE File":RETURN
2610 REM ===== CLEAR TOP BOX FORM =====
2620 FOR CS=2 TO 17:LOCATE TL,3,0:PRINT SPC(76):NEXT:RETURN
2670 REM ===== CLEAR UPPER 1/2 SCREEN FOR DIRECTORY =====
2680 FOR CS=1 TO 17:LOCATE CS,1,0:PRINT SPC(79):NEXT:RETURN
2730 REM ===== CLEAR BOTTOM BOX FORM EXCEPT FOR INSERT =====
2740 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(47):NEXT:RETURN
2790 REM ===== CLEAR BOTTOM BOX INCLUDING INSERT =====
2800 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(75):NEXT:RETURN
2850 REM ===== PRINT MIDDLE BOX CONNECTING LINE VERT/HORZ =====
3650 IF LEN(FIN$)=FINLEN THEN SOUND 600,4:GOTO 3570
3660 IF ASC(INPTR$)<31 OR ASC(INPTR$)>125 THEN SOUND 400,4:GOTO 3570
3670 PRINT INPTR$;:FIN$=FIN$+INPTR$:GOTO 3570
3700 REM ===== INITIAL FILE OR SINGLE LABEL INPUT PROGRAM =====
3710 GOSUB 15210:CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:LOCATE 21,30,0:PRINT"Make DATA Entries ";:LOCATE 17,20:COLOR 15:PRINT"Do not use QUOTATION MARKS when entering data!";:COLOR 7,0:GOSUB 6630:IF P>=1 THEN P1=P:P=200
3840 FOR I=P1 TO P:GOSUB 7010:GOSUB 3020:LOCATE 21,52,0:PRINT"Record #:";:LOCATE 21,64,0:PRINT I;:LOCATE 4,30,1,0,7:FINLEN=41:GOSUB 3520:A$(I)=FIN$:LOCATE 4,30,0:PRINT A$(I);:IF(A$(I)="END"OR A$(I)="end")THEN P=I
5200 INPUT#1,P:FOR I=1 TO P:INPUT#1,A$(I),B$(I),C$(I),D$(I),E$(I),F$(I):IF(A$(I)="END"OR A$(I)="end")THEN P=I
5240 IF(A$(I)="END"OR A$(I)="END")THEN 5260
5250 NEXT
5260 CLOSE
5270 REM ===== CHANCE TO REVIEW INPUT FILES =====
5280 GOTO 2890
5290 REM ===== STARTING OUTPUT LOOP =====
5300 CLS:GOSUB 2070:GOSUB 2850:K=1:NR=13
5350 LOCATE 4,7:FOR I=K TO P:GOTO 5380
5380 LOCATE,7:PRINT SPC(70):LOCATE,7:PRINT USING PR$;I;A$(I);RIGHT$(E$(I),12):IF A$(I)="END"OR A$(I)="end"THEN 5510
5430 IF I=NR THEN 5450ELSE 5440
5440 NEXT
5450 GOSUB 2790:LOCATE 21,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 3460:IF I=P THEN 5510
5500 IF I<P THEN K=I+1:NR=NR+13:GOTO 5350
5510 GOSUB 2790:LOCATE 21,13:PRINT"Last Record in File";:LOCATE 21,45:PRINT"<PRESS> ANY KEY to Continue";
5560 RES$=INKEY$:IF RES$=""THEN 5560
5580 GOTO 2890
5590 PRINT"ADD RECORDS TO FILE <PRESS> 3";:COLOR 7,0:LOCATE 21,50,0:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=51:GOSUB 3220:ON VAL(INPTR$)GOTO 8830,7150,3700
5690 REM ===== PRINT IN INITIAL MENU SELECTION ITEMS =====
5700 LOCATE 3,32:PRINT"LABEL/FILE PROGRAM";:LOCATE 4,32:PRINT"══════════════════";:LOCATE 6,35:PRINT"C H O I C E S";:LOCATE 7,35:PRINT"═════════════";:LOCATE 9,25:PRINT"Recall Disk FILE 1";:LOCATE 11,25
5810 PRINT"Open New FILE 2";:LOCATE 13,25:PRINT"Make single label 3";:LOCATE 15,25:PRINT"CONTROL Menu 4";:LOCATE 21,20:PRINT"Select & <PRESS> a Number";:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=52
7020 LOCATE 2,28:COLOR 31:PRINT" "STRING$(15,32)CHR$(25);:COLOR 7,0:LOCATE 2,22:PRINT"MAX for EXPANDED PRINT";:LOCATE 2,47:PRINT"with 4 ½ inch labels":FOR Q=4 TO 14 STEP 2:LOCATE Q,30:PRINT STRING$(41,254);:NEXT:RETURN
7150 REM ===== EDIT INDIVIDUAL RECORDS ROUTINE =====
7160 Z=0:CLS:GOSUB 2150:GOSUB 2410:LOCATE 20,18:COLOR 15:PRINT"What RECORD NUMBER To edit ";:COLOR 7,0:LOCATE 22,18:PRINT"<ENTER> RECORD NUMBER ";:FINLEN=3:LOW=48:HIGH=57:GOSUB 2070:GOSUB 2410:GOSUB 3100:LOCATE 21,64,0:GOSUB 3220:Z=VAL(FIN$):GOSUB 12510
7360 IF P=0 THEN 12740
7370 IF(Z<1 OR Z>P)THEN 12740
7380 REM ===== DISPLAYING RECORDS TO BE EDITED =====
7390 ON Z GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 6630:GOSUB 7010:GOSUB 3020:LOCATE 21,53,0:PRINT"Record #: ";:LOCATE 21,64:PRINT Z;:LOCATE 4,30:PRINT A$(Z);:IF A$(1)="END"THEN P=Z:COLOR 7,0
8730 REM ===== LOOK AT ANOTHER RECORD AFTER CORRECTION =====
8740 CLS:COLOR 7,0:GOSUB 2150:GOSUB 2410:LOCATE 21,18:COLOR 7,0:PRINT"Edit another RECORD <Y/N> ";:GOSUB 3380:ON YN GOTO 7150,4620
8830 REM ===== LABEL PRINT ROUTINES =====
8840 CLS:GOSUB 2070:GOSUB 2850:LOCATE 3,32:PRINT"LABEL/FILE PROGRAM";:LOCATE 4,32:COLOR 7,0:PRINT"══════════════════";:LOCATE 5,35:PRINT"C H O I C E S":LOCATE 6,35:PRINT"═════════════";:LOCATE 8,26:PRINT"1ST Line BOLD Print...........1";:LOCATE 9,26
8990 PRINT"All lines BOLD Print..........2";:LOCATE 10,26:PRINT"All Lines NORMAL 10 pitch.....3"
9070 PRINT"Return to CONTROL Menu........5";:LOCATE 13,26:PRINT"Read DISK DIRECTORIES.........6";:LOCATE 14,26: PRINT"Reset LABEL SIZE..............7";:LOCATE 15,26:PRINT"QUIT the program..............8";:GOSUB 2410:LOCATE 21,20
9160 PRINT"<PRESS> a NUMBER SELECTION ";:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=56:GOSUB 3220:ON VAL(INPTR$)GOTO 9250,9320,9460,9530,2890,12830,9240,11640
9610 LOCATE 6,35:PRINT"C H O I C E S";:LOCATE 7,35:PRINT"═════════════";:LOCATE 9,25:PRINT"Check Printer ON and SELECTED.";:COLOR 7,0:LOCATE 10,25:PRINT"CHECK LABELS LOADED AND ALIGNED";:LOCATE 11,25:PRINT"<ENTER> record RANGE to print";:LOCATE 13,25
9730 PRINT"I.E. <ENTER> FIRST Record Number to Print";:LOCATE 14,31:PRINT"Then <ENTER> Last Record Number";:GOSUB 3060:LOCATE 21,20:PRINT"<ENTER> Record Print Range ";:LB=0:LE=0:GOSUB 3020:LOCATE 21,52:PRINT"First # ";:LOCATE 21,62:FINLEN=3:LOW=48
9870 HIGH=57:GOSUB 3220:LB=VAL(FIN$):LOCATE 21,61:PRINT LB;:FOR I=1 TO 500:NEXT:GOSUB 3020:LOCATE 21,52,0:PRINT"Last # ";:GOSUB 12510:FINLEN=3:LOW=48:HIGH=57:LOCATE 21,62,0:GOSUB 3220:LE=VAL(FIN$):IF LE=<P THEN 10090
10050 IF LE>P THEN LOCATE 21,52:COLOR 15:PRINT"NO SUCH FILE!";:LOCATE 21,10:PRINT SPC(30):LOCATE 21,20:PRINT"<PRESS> Any Key to Continue.":COLOR 7
10060 RES$=INKEY$:IF RES$=""THEN 10060
10080 GOTO 8830
10090 LOCATE 21,61:PRINT LE;:FOR TM=1 TO 500:NEXT TM:CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:LOCATE 6,35:PRINT"PRINT LABELS";:LOCATE 7,35:PRINT"═════════════";:LOCATE 12,30:PRINT"How many of each labeL. ";:LOCATE 21,16
10240 PRINT"Indicate & <ENTER> Quantity ";:REM ===== NUMBER OF EACH LABEL =====
10260 GOSUB 3020:LOCATE 21,52:PRINT"# of each ";:NL=0:FINLEN=3:LOW=48:HIGH=57:GOSUB 3220:NL=VAL(FIN$):LOCATE 21,62:PRINT NL;:FOR I=1 TO 500:NEXT:GOSUB 12510:RETURN
10410 REM ===== 1ST LINE ONLY SHADOW ON IBM GRAPHICS PRINTER =====
10420 FOR N=LB TO LE:FOR M=1 TO NL:LPRINT CHR$(27);CHR$(69);:LPRINT A$(N):LPRINT CHR$(27);CHR$(70);:LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
10520 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT"
10530 IF VAL(NRLB$)>5 THEN LPRINT F$(N)ELSE LPRINT"
10540 IF VAL(LZ$)=6 THEN 10560
10550 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
10560 NEXT:NEXT:GOSUB 13690:GOTO 10420
10600 REM ===== ALL LINES BOLD PRINT ON IBM GRAPHICS PRINTER =====
10610 LPRINT CHR$(27)+"E";:FOR N=LB TO LE:FOR M=1 TO NL:LPRINT A$(N):LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
10690 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT"
10700 IF VAL(NRLB$)>4 THEN LPRINT F$(N)ELSE LPRINT"
11655 LOCATE 8,23:PRINT"Print first LINE & Summary <PRESS> 2";:LOCATE 9,33:PRINT"<PAPER IN PRINTER>";:LOCATE 11,23:PRINT"Return to CONTROL Menu <PRESS> 3";
11770 LOCATE 13,23:PRINT"Run EasyRite Word Processor <PRESS> 4":LOCATE 15,23:PRINT"Thanks! Bye! To QUIT - <PRESS> 5";:LOCATE 21,65,0:FINLEN=1:LOW=49:HIGH=53:GOSUB 3220:ON VAL(INPTR$)GOTO 1400,11300,2890,15580,11590
11850 LOCATE,,,0,7:POKE 91,1:POKE 92,25:END
11890 REM ===== ERROR TRAP ROUTINE =====
11900 GOSUB 3060:LOCATE 25,2:PRINT SPC(78);:KEY OFF:LOCATE 25,28,0:COLOR 24,4:PRINT" ERROR ";:COLOR 7,0:PRINT" #";ERR;" IN LINE #";ERL;:FOR T=1 TO 1000:NEXT:IF ERR=53 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12050
12020 LOCATE 20,10:PRINT"File not found ";:PRINT" ** Load CORRECT Disk";
12050 IF ERR=54 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12090
14900 LOCATE 21,10:PRINT"DO YOU WANT TO EMPTY THIS FILE (Y/N)":COLOR 7:GOSUB 3380:IF YN=1 THEN 14960
14950 IF YN=2 THEN 2890
14960 LOCATE 21,10:PRINT SPC(40):A$(XR)="<<═ E M P T Y ═>>":B$(XR)="":C$(XR)="":D$(XR)="":E$(XR)="":F$(XR)="":LOCATE 13,20:PRINT"FILE RECORD ";:COLOR 15:PRINT XR;:COLOR 7,0:PRINT" HAS BEEN EMPTIED":LOCATE 15,20
15110 PRINT"YOU MAY REFILL THIS RECORD USING EDIT FUNCTION":LOCATE 21,10,0:PRINT SPC(30):LOCATE 21,20,0:PRINT"<PRESS> ANY KEY TO CONTINUE
15160 A$=INKEY$:IF A$=""THEN 15160
15180 GOTO 2890
15190 GOSUB 15210:GOTO 2890
15210 REM ===== OPTIONAL RESET OF INPUT HEADINGS =====
15220 CLS:GOSUB 2070:GOSUB 2850:GOSUB 6630:LOCATE 21,18:PRINT"ARE THE CURRENT FILE HEADINGS SATISFACTORY (Y/N)":GOSUB 3380:IF YN=1 THEN RETURN
15300 IF YN=2 THEN 15310
15310 LOCATE 21,10:PRINT SPC(60):LOCATE 21,18:PRINT"INPUT NEW HEADINGS (10 CHARACTERS MAX)"